package 单周赛.september;

import java.util.*;

/**
 * @
 * @date 2024/11/24
 */
public class 第425场单周赛 {

    public static void main(String[] args) {

        第425场单周赛 impl = new 第425场单周赛();
        System.out.println(impl.minimumSumSubarray(Arrays.asList(-12, 8), 1, 1));

    }

    /**
     * 模拟
     */
    public int minimumSumSubarray(List<Integer> nums, int l, int r) {
        int min = Integer.MAX_VALUE;

        for (int i = 0; i < nums.size(); i++) {
            int sum = 0;
            for (int j = i; j < nums.size(); j++) {
                int len = j - i + 1;
                sum += nums.get(j);
                if (len >= l && len <= r && sum > 0) {
                    min = Math.min(min, sum);
                }

            }

        }

        return min == Integer.MAX_VALUE ? -1 : min;
    }

    /**
     * 哈希表
     */
    public boolean isPossibleToRearrange(String s, String t, int k) {

        int sonLen = s.length() / k;
        Map<String, Integer> map = new HashMap<>();
        for (int i = 0; i < s.length(); i += sonLen) {
            String str = s.substring(i, i + sonLen);
            map.put(str, map.getOrDefault(str, 0) + 1);
        }

        for (int i = 0; i < t.length(); i += sonLen) {
            String str = t.substring(i, i + sonLen);
            Integer cnt = map.getOrDefault(str, 0);
            if (cnt <= 0) {
                return false;
            }
            map.put(str, cnt - 1);
        }
        return true;
    }

}
